#include <iostream>
#include <fstream>

#include <string>
#include <cstring>
#include <algorithm>
#include <sstream>
#include <iomanip>

#include <openssl/rsa.h>
#include <openssl/aes.h>
#include <openssl/pem.h>

#include <openssl/evp.h>
#include <openssl/engine.h>

#include <zlib.h>
#include <lz4.h>
// typedef unsigned char     uint8;
// typedef unsigned char     uchar;
// typedef unsigned long    uint32;

#define KEY_LENGTH  2048             // 密钥长度
#define PUB_KEY_FILE "public.pem"    // 公钥路径
#define PRI_KEY_FILE "private.pem"    // 私钥路径
